gcr/gnome-keyring don't handle the case where prompt_password_async()/
prompt_confirm_async() return their result from within the function
very well (or rather: break badly). Calling gcr_prompt_close() instead
is safe, but to avoid these kind of errors in the future, modify
shell_keyring_prompt_cancel() to work as expected in this case.
https://bugzilla.gnome.org/show_bug.cgi?id=708187
self->async_result = NULL;
self->mode = PROMPTING_NONE;
- g_simple_async_result_complete (res);
+ g_simple_async_result_complete_in_idle (res);
g_object_unref (res);
}